package eteam.aps.controller;

import eteam.aps.common.R;
import eteam.aps.common.exceptions.AuthException;
import eteam.aps.systeminterface.model.vo.QueryInfoVo;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;
import java.util.Map;

/**
 * 查询信息控制器
 *
 * @author WMT
 * @Date 2023/2/3 15:07
 */
public interface IQueryInfoController {

    @PostMapping("/ed/selectUsername")
    Map<String,String> selectUserName() throws Exception, AuthException;

    @PostMapping("/ed/selectOrgname")
    Map<String,String> selectOrgName() throws Exception, AuthException;

    @PostMapping("/ed/selectOrgCode")
    Map<String,String> selectOrgCode() throws Exception, AuthException;

    @PostMapping("/ed/selectProOrgname")
    Map<String,String> selectProOrgName() throws Exception, AuthException;

    @PostMapping("/ed/selectDdName")
    Map<String,String> selectDdName() throws Exception, AuthException;

    @PostMapping("/ed/selectDepotName")
    Map<String,String> selectDepotName() throws Exception, AuthException;

    @PostMapping("/ed/selectFundName")
    Map<String,String> selectFundName() throws Exception, AuthException;

    @PostMapping("/ed/selectPreserveLevelName")
    Map<String,String> selectPreserveLevelName() throws Exception, AuthException;

    @PostMapping("/ed/selectRepairsLevelName")
    Map<String,String> selectRepairsLevelName() throws Exception, AuthException;

    @PostMapping("/ed/selectRepairName")
    Map<String,String> selectRepairName() throws Exception, AuthException;


    @PostMapping("/ed/ddList")
    R<List<QueryInfoVo>> dictionaryList() throws Exception, AuthException;

    @PostMapping("/ed/maintainPlanList")
    R<List<QueryInfoVo>> maintainPlanList() throws Exception, AuthException;

    @PostMapping("/ed/personList/{fOrgId}")
    R<List<QueryInfoVo>> personList(@PathVariable String fOrgId) throws Exception, AuthException;

    @PostMapping("/ed/userList")
    R<List<QueryInfoVo>> userList() throws Exception, AuthException;

    @PostMapping("/ed/preserveLevelList")
    R<List<QueryInfoVo>> preserveLevelList() throws Exception, AuthException;

    @PostMapping("/ed/patrolsRepairsList")
    R<List<QueryInfoVo>> patrolsRepairsList() throws Exception, AuthException;

    @PostMapping("/ed/repairList")
    R<List<QueryInfoVo>> repairList() throws Exception, AuthException;

    @PostMapping("/ed/orgList")
    R<List<QueryInfoVo>> orgList() throws Exception, AuthException;

    @PostMapping("/ed/proOrgList")
    R<List<QueryInfoVo>> proOrgList() throws Exception, AuthException;

    @PostMapping("/ed/depotList")
    R<List<QueryInfoVo>> depotList() throws Exception, AuthException;

    @PostMapping("/ed/producerList")
    R<List<QueryInfoVo>> producerList() throws Exception, AuthException;

    @PostMapping("/ed/modelList")
    R<List<QueryInfoVo>> modelList() throws Exception, AuthException;

    @PostMapping("/ed/unitList")
    R<List<QueryInfoVo>> unitList() throws Exception, AuthException;

    @PostMapping("/ed/selectDdInfo")
    R<List<QueryInfoVo>> selectDdInfo(@RequestParam("ddcName") String ddcName) throws Exception, AuthException;
}
